泛型?和T区别,? extends,? super

date
Mar 28, 2018
slug
泛型?和T区别,? extends,? super
status
Published
tags
Java
summary
type
Post

? 和 T的区别

?表示不确定的类型,T表示具体的类型(存疑)
常用法声明变量:
但不能定义成:
对于方法形参的声明:
这样既可以接受List<String>对象,也可以接受List<Integer>对象,
但是不能定义成:
转换一下,如果要用T可以这样定义:
在这个函数体中可以使用T来定义变量类型 T t 而?不行:
notion image

? extends , ? super区别

上限: ? extends A ,只接受A及A的子类
下限:? super A,只接受A及A的父类
 

以下是一些测试例子:

 
notion image
 

© Ryan Tang 2021 - 2025